Many businesses and customer service organizations utilize telephony distribution systems to route and process incoming and outgoing calls. Such telephony systems often include digital communication servers, which may include digital signal processing systems. Such systems use digital signal processing for analyzing telephonic signals such as busy tones, voice, answer machines and various tones generated by telephone equipment. Also, digital signal processing can be used to generate signals such as digital voice, or tones for dialing telephones, connect calls to and from trunk lines, and interface with a host computer or database, to illustrate a few examples.
Digital signal processors (DSP's) must process massive amounts of data in real time. Therefore, the DSP must be well integrated within a processing system and have very fast data paths to move data to and from of the DSP. A standard way of sending signals to be processed to the DSP is through pulse code modulation (PCM). PCM is a digitized signal which represents the analog signal to be analyzed. It can often be multiplexed with other signals in a method known as time division multiplex (TDM) whereby several PCM signals are multiplexed together to use one data path. TDM allows a single DSP to handle multiple digital signals to be processed, thereby making efficient use of system resources.
The DSP must be able to input and output digital signals, however, it also is a powerful computer in its own right and must be able to transfer program data from other systems to itself, and output data to other systems. This is often done over a bus such as a Versa-bus Modular Eurocard (VME). This is a standardized backplane bus which allows data to be transferred within a digital communication server system. Examples of data to be transferred will be executable code for the DSP to execute, or digital voice files for the DSP to synthesize and send out as PCM signal.
Still another way to send data to and from a DSP is through the use of a local area network. This can be in the form of ethernet or token ring. Local area networks are often used for sending commands and programs to individual systems, as well as doing diagnostics and analyzing data dumps.
So to be properly integrated within a system, a DSP must be able to accept many different types of data, such as digital signal, serial data, program data, and commands. Also, the DSP must be able to communicate with many other subsystems within the digital communication server, some of which may not share the same communication paths with the DSP.
Even though a DSP may be able to handle several digital channel signals at once, the needs of a system will often require more than one DSP to be present to handle the signal processing load. Each separate DSP must be able to communicate with all other subsystems within the digital communication server, to work properly. However, as system requirements change or grow, the number of DSPs required may also change. Therefore, a system where modular DSPs may be easily added or removed as needed can provide a much more versatile system.
DSPs have been integrated into telephony systems using at most only two communication paths. DSPs have typically used a PCM path to send and receive digitized signals and a backplane bus for everything else. If the telephony systems did include some form of local area network, the local area network was interfaced to another part of the system, with data then shuttled to the DSP on the VME bus. This required other parts of the system to provide processing assistance to the DSP and prohibited easy expansion or resizing of the number of DSPs in the system. Also, having few data paths prevented the DSP from having backup communication paths should one particular path not be available. This may occur in an overloaded system, or one with a partial system failure. This may also occur if a particular model of DSP is installed in a system that provided different communication paths than the standard VME and PCM paths.
Accordingly, what is needed is a DSP that can communicate on three separate paths to other parts of the system, thereby allowing for efficient data transfer within and without the system, and allow for easy modular expansion of the system for adding or removing DSP units as necessary to meet system requirements.